# Xiaoyu punishes (analysis/punishes.py; kept = done 3+ times, not cut short)
# kind needed_window punisher hits damage frames lead press reach open launches | moves id@frame(*=hit) | inputs held:frames | damage frames | notation
char 5
block 10 1600 2 17 30 10 4 1492 10 0 | 1600@0* 1802@10* | 0:4,16384:5,0:1,2:3,32770:5,2:1,0:21 | 9,29 | 1, d+2  # P1 x3
block 12 1898 1 25 12 10 7 1233 10 1 | 1898@0* | 0:4,8:3,49160:10,49152:1,0:4 | 11 | f+1+2  # P3 x4
block 15 1650 2 20 22 10 7 1859 10 1 | 1650@0 1806@6* 1807@17* | 0:1,8:1,10:5,32778:6,10:2,16392:2,16384:3,0:4,16384:5,0:2,16384:1 | 14,21 | df+2, f+1, 1  # P5 x3
low_block 11 1667 1 20 11 10 5 1613 10 1 | 1667@0* | 8192:1,0:4,8192:5,0:5,8192:4,0:2 | 10 | 4  # P6 x3
low_block 13 1663 2 30 37 10 0 1731 10 0 | 1663@0* 1664@15* | 16384:3,0:4,16384:6,0:3,8192:5,0:4,8192:5,0:17 | 12,36 | 1, 4  # P7 x3
low_block 16 1514 1 13 16 10 4 1484 10 1 | 1514@0* | 8:1,9:3,4105:4,9:4,4105:5,9:5,4104:3,0:1 | 15 | uf+3  # P8 x3
